Mecanismo de busca - Search

Elaborar um mecanismo de busca parece ser algo bem difícil, mas na hora em que você começa a criar o código necessário se tem um idéia completamente diferente.

Basicamente você precisa manipular 3 propriedades do ADO que são: AbsolutePage, PageSize, PageCount.

AbsolutePage nos informa qual é a página atual.
PageSize se refere ao tamanho que deverá ter cada página.
PageCount contém o número de páginas retornadas pela consulta.

Tudo basicamente é feito através de verificações como por exemplo verificamos qual é a página atual para saber para qual a página podemos nos mover, nesta verificação também é importante a propriedade PageCount já que podemos verificar se a página atual é a primeira ou a última no conjunto de registro.

Para exibir os registros utilizamos a propriedade PageSize, fazendo um looping de 1 até o número máximo de registro permitida por página.

Com o código abaixo podemos saber se o usuário está paginando ou se está fazendo uma nova busca, Depois utilizamos o valor de Session("busca") na instrução responsável por filtrar os registros.

if Request.QueryString("busca")="" then
        session("busca")=request("txtbusca")
else
        session("busca")=Request.QueryString("busca")
end if

AS duas verificações abaixo merecem uma atenção especial. A primeira verifica se a página atual é maior que o número de páginas retornadas, em caso positivo definimos a página atual como sendo igual ao número de páginas retornadas pela consulta. E a segunda verifica se a página atual é menor que 1 e com certeza será então a definimos como 1.

If PaginaAtual > PaginaCount Then PaginaAtual = PaginaCount

If PaginaAtual < 1 Then PaginaAtual = 1

Tudo ainda parece confuso então faça o download do código deste artigo e verifique na prática o que estou dizendo, o código contém vários comentários que o manterão a par do que está acontecendo.

 

Alfredo Lotar W. Wachholz
ASPRS